用 Apps Script 做一套掃碼打卡系統:簽到、算時數、出月報全自動

Apps Script
自動化
打卡系統
身分驗證
LINE LIFF
案例
只要一群人要記工時,紙本簽到加月底人工加總就是惡夢。這篇談怎麼用 Apps Script 做一套 QR 掃碼打卡系統,簽到、算時數、出月報全部自動;身分驗證還能從輸入名字,升級到 Google 帳號或 LINE(LIFF)認證。
發佈於

2026年7月22日

掃碼打卡系統:用 Apps Script 做,簽到、算時數、出月報全自動

一群人一起做事,遲早會遇到同一個問題:每個人到底做了多少時數,怎麼記才不會又累又錯?

志工團體、社團、課程、小型單位都一樣。項目一多、人一多,光是每個月把時數結算清楚,就能花掉一個人一整個晚上。

這篇談的是一種做法:用 Google 的 Apps Script,做一套「掃碼打卡、時數自動算、月報自動出」的系統。

舊做法的麻煩:一疊簽到表,月底算到半夜

傳統做法是紙本簽到表。一個地點一張、一個月一疊。到了月底,得有人把每一張攤開來,一格一格看、一個人一個人加,才結算得出誰做了幾小時。

而且時數常常還有一堆規則要套:中午和晚餐時間要不要扣、湊不湊成半小時、遲到扣多少、有沒有排班。這些靠人腦一筆一筆算,慢、又容易錯,紙本也常常缺一張、少一頁。

舊做法 新做法
簽到 紙本簽名 手機掃碼
算時數 月底人工加總 簽退當下自動算
出月報 一個人算到半夜 每月自動產生
套規則 靠人腦記 系統照設定算

核心:一個地點一張 QR,掃碼就打卡

做法很單純——每個地點貼一張專屬的 QR 圖,人到了用手機掃一下:

  1. 掃地點的 QR 圖(用 LINE 掃最保險,長輩也會)
  2. 第一次輸入名字,之後系統會記得
  3. 按「簽到」開始,做完按「簽退」

不用下載 App、不用註冊帳號。每一張 QR 對應一個地點,一掃系統就知道人在哪、在做什麼。

要多確認「是不是本人」,可以自己選

最單純的版本是掃碼後輸入名字、系統比對名冊——夠用、好上手,長輩不用學。如果你想更嚴謹,防代打、防冒名,身分這一層可以再往上加,常見兩條路:

  • 用 Google 帳號認證:把 Web App 設成以登入者身分執行,程式就直接拿到對方的 Gmail,對照名冊裡的信箱欄。身分明確;代價是每個人要有 Google 帳號,而且在 LINE 內建瀏覽器裡登入 Google 常常會卡,比較適合本來就用 Google 生態的單位。
  • 用 LINE 認證(LIFF):大家本來就用 LINE 掃碼,這條最順。頁面在 LINE 裡開的時候,用 LINE 的 LIFF 直接讀到對方的 LINE 帳號(一組固定的 userId),完全不用打字。第一次掃把 userId 綁到名字,之後一掃就自動認得人。前置要在 LINE Developers 開一個登入用的 channel,多一點設定,換來的是「掃了就知道是誰、又不用登入」。

三種還能混搭:對外開放的活動用輸入名字就好,需要嚴謹計時的核心業務再上 LINE 或 Google 認證。要多嚴、要多方便,是設計時自己決定的,不是系統綁死的。

時數不用人算,照你自己的規則算

打卡背後最有價值的一段,是時數自動計算,而且規則是你自己設的:

  • 哪些時段不算(例如休息、用餐時間)
  • 時數湊成整數還是半小時
  • 遲到要不要扣、扣多少
  • 排班制的工作,按班次算

這些只要設定一次,之後每個人一簽退,時數就照規則算好,不用任何人再動腦。

現場一定會出的狀況,先想好

實際跑起來,一定有人忘東忘西。這幾種常見狀況,系統都接得住:

  • 有人忘了簽退——當天系統自動標記
  • 特定身分(例如負責人)——時間到自動幫他簽退
  • 跨天沒結的紀錄——下次掃碼自動補好,不會卡住隔天的打卡

真的要改,管理員直接在試算表裡改就好。

月報:其實你不用按什麼

可以設成每個月自動把上個月的時數整理成兩張表:每個人做了多少、每個項目或組別加起來多少。想臨時看,也是點兩下就出來。

以前要算一整晚的事,現在系統自己就做完了。

為什麼用 Apps Script

因為它把幾個大麻煩一次省掉:

  • 不用養伺服器、不用月費——整套跑在免費的 Google 試算表上
  • 資料就在一張 Google 表格裡——你看得懂、也改得動,要交接給下一個人也簡單
  • 能連 Google 的其他服務——試算表、Gmail(自動寄通知)、雲端硬碟(存 QR 圖)都能串起來
註釋

而且你不用自己寫程式。用前幾篇介紹的 Codex + clasp,把需求講清楚,AI 就能幫你把整套打卡系統寫好、推上 Google 雲端。

說到底,它解決了什麼

一句話:把「靠紙筆和人力」的月結工作,換成「掃碼加自動整理」。

現場的人只要掏手機掃一下;管理的人拿到的,是一份隨時查得到、照規則算好、不會算錯也不會弄丟的時數紀錄。

回到頂端